using System;

namespace Widgetsphere.Generator.Common.GeneratorFramework
{
  [AttributeUsage(AttributeTargets.Class, AllowMultiple = false)]
  public class GeneratorAttribute : System.Attribute
  {
    #region Class Members

    private System.Guid _projectGuid;
    private string _modelName = "";
    private System.Type _newModelControlType = null;

    #endregion

    #region Constructor

    public GeneratorAttribute(string projectGuid, string modelName, System.Type newModelControlType)
    {
      _projectGuid = new Guid(projectGuid);
      _modelName = modelName;
      _newModelControlType = newModelControlType;
    }

    #endregion

    #region Property Implementations

    public System.Guid ProjectGuid
    {
      get { return _projectGuid; }
    }

    public string ModelName
    {
      get { return _modelName; }
    }

    public System.Type NewModelControlType
    {
      get { return _newModelControlType; }
    }

    #endregion

    #region Methods

    public override string ToString()
    {
      return this.ModelName;
    }

    #endregion

  }
}
